\section{Summary}
\label{implementation:software:recap}
%\fxnote{E: As with the introduction just UEP is ambigous -> EW UEP.}
%\fxnote{E: Elucidated.... is it buisness or marketing?}
Throughout this chapter the implementation of a video transmitter and receiver utilising \ac{RLNC} with \ac{UEP} by \ac{EW} has been elucidated. The final software solution is capable of providing \ac{RLNC} with either \ac{UEP} or \ac{EEP}. When using \ac{UEP} the maximum number of layers is only limited by the generation size and $\boldsymbol \Gamma$. The layer decision distribution $\boldsymbol \Gamma$ can contain all integers between 1 and 100, which is a limitation that is considered insignificant. The layer sizes are limited by \verb|kodo|, however this can be changed by modifying both the encoder and decoder to take care of the limitations introduced by \verb|kodo|.

The video decoding features are only limited by FFmpeg, thus enabling the software to handle most video codecs available. Both generation and symbol size can be automatically calculated, to reduce zero padding. The field size has been fixed to $2^1$, however \verb|kodo| (finite field arithmetic is handled by \verb|fifi|) does support field sizes as high as $2^{32}$ \cite{git_fifi}. The software solution can be extended to support this feature at the cost of both memory and processing resources.

In order to compare \ac{UEP} and \ac{EEP} several repetitive tests is needed. And since \ac{UEP} uses $\boldsymbol \Gamma$ to choose which layer to encode, a $"$sweep$"$ of values for $\boldsymbol \Gamma$ is needed. Furthermore the sample data in the test is not irrelevant, the number of layers, layer size and generation size may change the result. The necessary test conditions and the results will be discussed in Chapter \ref{testing}.
